package com.smartfast4j.manager.modules.sys.service;



import com.smartfast4j.manager.common.bean.CnAreaVo;
import com.smartfast4j.manager.common.bean.JsTree;
import com.smartfast4j.manager.common.bean.ZtreeAreaVo;
import com.smartfast4j.pojo.sys.SysCnArea;
import com.smartfast4j.pojo.sys.SysCnAreaExample;

import java.util.List;

public interface SysCnAreaService {
    int countByExample(SysCnAreaExample example);

    SysCnArea selectByPrimaryKey(Long id);

    List<SysCnArea> selectByExample(SysCnAreaExample example);

    int deleteByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(SysCnArea record);

    int updateByPrimaryKey(SysCnArea record);

    int deleteByExample(SysCnAreaExample example);

    int updateByExampleSelective(SysCnArea record, SysCnAreaExample example);

    int updateByExample(SysCnArea record, SysCnAreaExample example);

    int insert(SysCnArea record);

    int insertSelective(SysCnArea record);

    int insertBatchSelective(List<SysCnArea> records);

    int updateBatchByPrimaryKeySelective(List<SysCnArea> records);

    CnAreaVo getAreaTreeById(Long id);

    /**
     * 根据ID加载中国行政区域树形结构(针对jsTree树形控件使用)
     * @param id
     * @return
     */
    List<JsTree> loadAreaJsTree(String id);

    /**
     * 根据ID加载中国行政区域树形结构(针对zTree树形控件使用)
     * @param id
     * @return
     */
    List<ZtreeAreaVo> loadAreaZtree(String id);
}